// 自己选择的路，跪着也要走完。朋友们，虽然这个世界日益浮躁起来,只
// 要能够为了当时纯粹的梦想和感动坚持努力下去，不管其它人怎么样,我
// 们也能够保持自己的本色走下去。                      ——AKPower
#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <vector>
#include <map>
#include <queue>
#include <cstdio>
#include <string>
#include <stack>
#include <set>
#define IOS ios::sync_with_stdio(false), cin.tie(0)
using namespace std;
typedef long long ll;
// int[] arr = new int[]{8,3,2,1,0};
// int[] index = new int[]{3,0,4,3,1,0,2,4,3,4,4};
ll arr[11],cnt1;
ll index_s[15],cnt2;
bool vis[11];
map<ll,ll> mp;
bool cmp(ll a,ll b){
    return a>b;
}
int main()
{
    IOS;
    string s;
    cin>>s;
    for(ll i=0;i<11;i++){
        if(vis[s[i]-'0']){continue;}
        vis[s[i]-'0']=true;
        arr[cnt1++]=s[i]-'0';
        // mp[s[i]-'0']=cnt1-1;
        // index[cnt2++]=cnt1-1;
    }    
    sort(arr,arr+cnt1,cmp);
    for(ll i=0;i<cnt1;i++){
        mp[arr[i]]=i;
    }
    for(ll i=0;i<11;i++){
        ll num=s[i]-'0';
        index_s[cnt2++]=mp[num];
    }
    cout<<"int[] arr = new int[]{"<<arr[0];
    for(ll i=1;i<cnt1;i++){
        cout<<","<<arr[i];
    }
    cout<<"};"<<endl;
    cout<<"int[] index = new int[]{"<<index_s[0];
    for(ll i=1;i<cnt2;i++){
        cout<<","<<index_s[i];
    }
    cout<<"};"<<endl;

    getchar();
    getchar();
    return 0;
}
